Nmap在渗透测试中经常用到,它不仅可以用来确定目标网络上计算机的存活状态,而且可以扫描各个计算机的操作系统、开放端口、服务,还有可能获得用户的证书。熟练掌握Nmap的用法,可以极大的提高渗透测试技术。
nmap在Kali Linux中是默认安装的,可以使用Nmap -help来查看帮助。
以下是扫描神器nmap的使用方法:
一、命令结构
nmap -sS -T2 -p 1-500 192.168.154.134 -oN metscan.txt
nmap 命令后跟的是扫描类型,第一个参数sS代表隐蔽扫描,第二个参数T2是timing选项,设置了nmap扫描时的速度、流量;第三个参数-p设置了需要扫描的端口,后面的192.168.154.134是扫描目标,可以是ip地址,也可以设置为网段地址;扫描目标后跟着输出选项,可以将扫描结果保存成文件,供测试人员分析。
nmap命令格式
二、扫描类型
-sS 隐蔽扫描
当未指定扫描选项是,隐蔽扫描时默认的扫描类型。隐蔽扫描会发起一个与目标主机的TCP连接,但是却永远也不会完成三次握手,从而避免察觉,但是现在许多计算机系统都可以探测到这种隐蔽扫描。
扫描示例:
nmap -sS 192.168.154.134
-sT TCP连接扫描
TCP链接扫描通常用于收集有关目标的更多信息,但是会和目标主机建立一个完成的TCP连接。
示例:
nmap -sT 192.168.154.134
-sU UDP扫描
UDP扫描会评估目标系统上的UDP端口,可以确认UDP端口是开放还是被防火墙设备过虑。
-sA ACK扫描
ACK扫描,可以确定TCP端口是否被防火墙过滤。
三、timing模板
timing参数可以指定nmap扫描的速度。其中各个选项如下:
T0:paranoid 慢速网络扫描,串行扫描,两次扫描间隔5分钟。扫描速度极慢。
T1:Sneky 慢速网络扫描,串行扫描,两次扫描间隔15秒,扫描速度较慢。
T2:Polite 中速网络扫描,串行扫描,两次扫描间隔400毫秒,扫描速度慢。
T3:Normal 中速网络扫描,并行扫描,两次扫描间隔0秒,扫描速度正常。
T4:Aggressive 快速网络扫描,并行扫描,两次扫描间隔0秒,扫描速度较快。
T5:Normal 快速网络扫描,并行扫描,两次 扫描间隔0秒,扫描速度极快。
一下是分别使用T0 T1 T2 T3 T4 T5参数扫描截图,大家可以对比下扫描时间。
T0
T1
T2,203秒
T3,0.84秒
T4,0.77秒
T5,0.23秒
四、扫描端口
可以使用 -p 指定扫描的端口,例如:
nmap -p 1-500 192.168.154.134 #使用默认选项扫描目标主机的1-500端口
nmap -p 80 192.168.154.134 #使用默认选项扫描目标主机的80端口
nmap -sT -p 80,1-500 192.168.154.134 #使用TCP连接扫描目标主机的80,1-500端口
五、扫描 目标
扫描目标用来限定Nmap扫描的主机列表。可以使用多种方式,这里介绍最常用的两种。
1、IP地址段
可以直接指定IP地址,如
nmap 192.168.154.134 #使用默认选项扫描目标主机
也可以使用地址范围,如
nmap 192.168.154.1-255 #扫描192.168.154.1-192.168.154.255主机
同时,还可以指定地址段,如
nmap 10.0.2.0/24 # 扫描10.0.2.0/24的所有主机
2、扫描列表
可以将扫描地址保存在文件中,然后将文件作为目标列表引入。
例如:
nmap -iL ip.txt #将ip.txt文件中的地址作为目标地址扫描
五、输出选项
使用输出选项可以将Nmap扫描结果保存在文件中,可以保存为多种方式。
-oN 保存为文本文件
-oX 保存为XML文件
-oG 保存为GREPable输出
-oS 脚本输出
例如:
nmap -sU -T5 -oN metscan.txt 192.168.154.134 #将扫描结果保存到metscan.txt文件。
扫描结束后,打开metscan.txt,可以看到扫描结果已经保存了。